---
title: Обновление вашего dApp до WalletConnect v2
description: RainbowKit обновлен до v2, и вы можете подготовить свой dApp за 5 минут или меньше
image: guide-walletconnect-v2.png
---

# Миграция на WalletConnect v2

## Подготовьте ваш dApp к обновлению до v2 за 5 минут или меньше

Протокол WalletConnect v1 будет отключен 28 июня 2023 года, и RainbowKit помогает вам сделать переход максимально простым.

Поддержка WalletConnect v2 теперь стандартизирована в RainbowKit без критических изменений. Просто обновитесь и воспользуйтесь руководством ниже для получения дополнительных сведений.

#### Понимание WalletConnect v2

WalletConnect — это протокол, позволяющий пользователям подключать свои мобильные кошельки к вашему dApp, и он является важной основой RainbowKit. Недавний выпуск WalletConnect v2 включает в себя ряд важных обновлений для улучшения взаимодействия кошелька и dApp.

С v2 ваши пользователи теперь могут одновременно подключаться к нескольким цепочкам, поэтому можете забыть о процессе переключения цепочки. Он также расширяет поддержку большего числа сетей и улучшает вход с помощью Ethereum, делая его еще быстрее.

#### Обновление вашего dApp

Если вы уже следовали руководствам по миграции для RainbowKit `0.12.x` и `1.0.x`, вы почти достигли цели! Просто обновитесь до последней версии патча и попробуйте.

RainbowKit включил WalletConnect v2 по умолчанию с `0.12.15` и `1.0.2`. Мы продолжаем поддержку `0.12.x`, если ваш dApp еще не обновился до wagmi v1 и RainbowKit v1.

**1. Обновление зависимостей**

```bash
npm i @rainbow-me/rainbowkit@^1.0.2 wagmi@^1.2
```

Если вы используете версию RainbowKit ранее `0.12.x` или `1.0.x`, просто следуйте [Руководству по миграции](/docs/migration-guide), чтобы быть в курсе.

Рекомендуется, чтобы dApp версии `0.12.x` начали обновление до wagmi v1, поскольку улучшения стабильности для WalletConnect v2 будут включены только в будущие версии wagmi.

**2. Предоставление projectId**

Теперь каждому dApp, который зависит от WalletConnect, необходимо получить `projectId` от [WalletConnect Cloud](https://cloud.walletconnect.com/). Это абсолютно бесплатно и занимает всего несколько минут.

Предоставьте ваш `projectId` в `getDefaultWallets` и отдельные соединители кошельков RainbowKit следующим образом:

```ts
const projectId = 'YOUR_PROJECT_ID';
const { wallets } = getDefaultWallets({
  appName: 'My RainbowKit App',
  projectId,
  chains,
});
const connectors = connectorsForWallets([
  ...wallets,
  {
    groupName: 'Other',
    wallets: [
      readyWallet({ projectId, chains }),
      trustWallet({ projectId, chains }),
      ledgerWallet({ projectId, chains }),
    ],
  },
]);
```

RainbowKit является типобезопасным и предупредит вас, если `projectId` отсутствует. Обратитесь к нашим примерам, чтобы увидеть v2 в действии:

- [Create React App](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-create-react-app)
- [Next.js](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-next)
- [Next.js App Router](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-next-app)
- [Remix](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-remix)
- [Vite](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-vite)
- [React Router](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-react-router)

Обратитесь к [документации](https://www.rainbowkit.com/docs/custom-wallet-list#walletconnect) для дополнительных поддерживаемых опций.
